const requestBase = {
	index: '/a/api/',
	login: '/api/customer/',
	upload:'/a/api/',
}

const methods = {
	get: {},

	post: {
		//上传
		upload: [
			'driverInsImage',//上传图片
		],
		//首页接口
		index: [
			'selectType',// 查询登录类别、厂区
			'login',// 用户登录
			'selectByMonth',//查询通知信息
			'selectGarbage',//查询垃圾场进量
			'selectSlag',// 查询炉渣
			'selectFlyAsh',//查询飞灰
			'selectLeachate',//查询渗滤液
			'selectCount',//饼图
			'selectDangerSource',//查询重要危险源
			'selectLoadometer',// 查询地磅
			'selectSafety',// 查询安全检查
			'selectNewDetection',// 查询最近一次第三方检测
			'selectDetection',//根据天查询第三方检测记录
			'selectTicket',// 查询工作票
			'selectPollution',//查询折线图
			'selectContact',//查询整改单,
			'selectMeeting',//查询会议记录
			'selectReport',//查询年报/月报
			'selectAppraisal',//查询监管考评
			'selectStove',//查询炉况
			'selectHomePage',//查询昨日垃圾进场量,
			'selectHomeData',//查询首页数据
			'selectName',// 查询工厂名称
		],
		//登录接口
		login: [

		],
	}
}


/**
 * @param {obj} methods 请求方法配置对象
 * @param {obj} requestBase 基础请求头配置对象
 * @param {obj} 需要被挂载的Vue实例
 */
function initRequset(methods, requestBase, vm) {
	vm.$u.api = {}
	for (let method in methods) { //分类get 和 post 方法
		const category = methods[method] //category请求分类
		for (let requests in category) { //requests 每个分类中的具体请求模块
			const reqList = category[requests] //reqList 每个模块中的具体请求方法
			if(requests === 'upload'){
				reqList.forEach(item => {
					vm.$u.api[item] = vm.$u.baseUrl + requestBase[requests] + item
				})
				continue
			}
			reqList.forEach(value => {
				vm.$u.api[value] = (params = {}) => vm.$u[method](requestBase[requests] + value, params);
			})
		}
	}
}

const install = (Vue, vm) => {
	initRequset(methods, requestBase, vm)
}

export default {
	install
}
